<!DOCTYPE html><html><head><title>Ext.form.Basic | Ext JS 4.0 Documentation</title><script type="text/javascript" src="../ext-all.js"></script><link rel="stylesheet" href="../reset.css" type="text/css"><link rel="stylesheet" href="../scrollbars.css" type="text/css"><link rel="stylesheet" href="../docs.css" type="text/css"><link id="styleCss" rel="stylesheet" href="../style.css" type="text/css"><script type="text/javascript" src="../prettify.js"></script><link rel="stylesheet" href="../prettify.css" type="text/css"><!-- link(rel: 'stylesheet', href: req.baseURL + '/css/ext4.css', type: 'text/css')--><link rel="shortcut icon" type="image/ico" href="../favicon.ico"><!--[if IE]>
<style type="text/css">.head-band { display: none; }
.header { border: 0; top: 0; left: 0px; background: url(../header.gif) repeat-x; }
.doc-tab .members .member a.more { background-color: #efefef; }
</style><link rel="stylesheet" href="/new/css/ie.css" type="text/css"><![endif]-->
</head><body id="ext-body" class="iScroll"><div id="notice" class="notice">For up to date documentation and features, visit 
<a href="http://docs.sencha.com/ext-js/4-0">http://docs.sencha.com/ext-js/4-0</a></div><div class="wrapper"><div class="head-band"></div><div class="header"><h2><a href="../index.html">Sencha Documentation</a></h2></div><div id="search"><form><input type="text" placeholder="Search" id="search-field" autocomplete="off" name="q"></form><div id="search-box"></div></div><div id="treePanel"></div><div id="container"><script type="text/javascript">

    req = {
        liveURL: '.',
        standAloneMode: true,
        origDocClass: 'Ext.form.Basic',
        docClass: 'Ext.form.Basic',
        docReq: 'Ext.form.Basic',
        version: '4.0',
        baseURL: '.',
        baseDocURL: '.',
        baseProdURL: '.'
    };

    clsInfo = {};



</script>

<script type="text/javascript" src="../search.js"></script>
<!--script type="text/javascript" src="/new/javascripts/app/examples.js"></script-->
<script type="text/javascript" src="../class_tree.js"></script>
<script type="text/javascript" src="../class_doc.js"></script>
<script type="text/javascript">
    req.source = 'Basic.html#Ext-form.Basic';
    clsInfo = {"methods":["Basic","addEvents","addListener","addManagedListener","applyIfToFields","applyToFields","capture","checkDirty","checkValidity","clearInvalid","clearListeners","clearManagedListeners","destroy","doAction","enableBubble","findField","fireEvent","getFieldValues","getFields","getRecord","getValues","hasInvalidField","hasListener","hasUpload","isDirty","isValid","load","loadRecord","markInvalid","observe","on","relayEvents","releaseCapture","removeListener","removeManagedListener","reset","resumeEvents","setValues","submit","suspendEvents","un","updateRecord"],"cfgs":["api","baseParams","errorReader","listeners","method","paramOrder","paramsAsHash","reader","standardSubmit","timeout","trackResetOnLoad","url","waitMsgTarget","waitTitle"],"properties":["owner"],"events":["actioncomplete","actionfailed","beforeaction","dirtychange","validitychange"],"subclasses":[]};
    Ext.onReady(function() {
        Ext.create('Docs.classPanel');
    });
</script><div id="top-block" class="top-block"><h1 id="clsTitle" class="cls"><a href="../source/Basic.html#Ext-form.Basic" target="_blank">Ext.form.Basic</a></h1></div><div id="docContent"><div id="doc-overview-content"><div class="lft"><pre class="subclasses"><h4>Hierarchy</h4><div class="subclass f"><a href="Ext.util.Observable.html" rel="Ext.util.Observable" class="cls docClass">Ext.util.Observable</a><div class="subclass"><strong>Ext.form.Basic</strong></div></div></pre><p>Provides input field management, validation, submission, and form loading services for the collection
of <a href="Ext.form.field.Field.html" rel="Ext.form.field.Field" class="docClass">Field</a> instances within a <a href="Ext.container.Container.html" rel="Ext.container.Container" class="docClass">Ext.container.Container</a>. It is recommended
that you use a <a href="Ext.form.Panel.html" rel="Ext.form.Panel" class="docClass">Ext.form.Panel</a> as the form container, as that has logic to automatically
hook up an instance of <a href="Ext.form.Basic.html" rel="Ext.form.Basic" class="docClass">Ext.form.Basic</a> (plus other conveniences related to field configuration.)</p>

<h1>Form Actions</h1>

<p>The Basic class delegates the handling of form loads and submits to instances of <a href="Ext.form.action.Action.html" rel="Ext.form.action.Action" class="docClass">Ext.form.action.Action</a>.
See the various Action implementations for specific details of each one's functionality, as well as the
documentation for <a href="Ext.form.Basic.html#doAction" rel="Ext.form.Basic#doAction" class="docClass">doAction</a> which details the configuration options that can be specified in
each action call.</p>

<p>The default submit Action is <a href="Ext.form.action.Submit.html" rel="Ext.form.action.Submit" class="docClass">Ext.form.action.Submit</a>, which uses an Ajax request to submit the
form's values to a configured URL. To enable normal browser submission of an <a href="Ext.html" rel="Ext" class="docClass">Ext</a> form, use the
<a href="Ext.form.Basic.html#standardSubmit" rel="Ext.form.Basic#standardSubmit" class="docClass">standardSubmit</a> config option.</p>

<p>Note: File uploads are not performed using normal 'Ajax' techniques; see the description for
<a href="Ext.form.Basic.html#hasUpload" rel="Ext.form.Basic#hasUpload" class="docClass">hasUpload</a> for details.</p>

<h1>Example usage:</h1>

<pre class="prettyprint"><code>Ext.create('Ext.form.Panel', {
    title: 'Basic Form',
    renderTo: Ext.getBody(),
    bodyPadding: 5,
    width: 350,

    // Any configuration items here will be automatically passed along to
    // the <a href="Ext.form.Basic.html" rel="Ext.form.Basic" class="docClass">Ext.form.Basic</a> instance when it gets created.

    // The form will submit an AJAX request to this URL when submitted
    url: 'save-form.php',

    items: [{
        fieldLabel: 'Field',
        name: 'theField'
    }],

    buttons: [{
        text: 'Submit',
        handler: function() {
            // The getForm() method returns the <a href="Ext.form.Basic.html" rel="Ext.form.Basic" class="docClass">Ext.form.Basic</a> instance:
            var form = this.up('form').getForm();
            if (form.isValid()) {
                // Submit the Ajax request and handle the response
                form.submit({
                    success: function(form, action) {
                       Ext.Msg.alert('Success', action.result.msg);
                    },
                    failure: function(form, action) {
                        Ext.Msg.alert('Failed', action.result.msg);
                    }
                });
            }
        }
    }]
});
</code></pre>
<div class="members"><div class="m-cfgs"><div class="definedBy">Defined By</div><a name="configs"></a><h3 class="cfg p">Config Options</h3><h4 class="cfgGroup">Other Configs</h4><div id="config-api" class="member f ni"><a href="Ext.form.Basic.html#config-api" rel="config-api" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-cfg-api" class="viewSource">view source</a></div><a name="api"></a><a name="config-api"></a><a href="Ext.form.Basic.html#" rel="config-api" class="cls expand">api</a><span> : Object</span></div><div class="description"><div class="short">(Optional) If specified, load and submit actions will be handled
with Ext.form.action.DirectLoad and Ext.form.action....</div><div class="long"><p>(Optional) If specified, load and submit actions will be handled
with <a href="Ext.form.action.DirectLoad.html" rel="Ext.form.action.DirectLoad" class="docClass">Ext.form.action.DirectLoad</a> and <a href="Ext.form.action.DirectLoad.html" rel="Ext.form.action.DirectLoad" class="docClass">Ext.form.action.DirectLoad</a>.
Methods which have been imported by <a href="Ext.direct.Manager.html" rel="Ext.direct.Manager" class="docClass">Ext.direct.Manager</a> can be specified here to load and submit
forms.
Such as the following:</p>

<pre><code>api: {
    load: App.ss.MyProfile.load,
    submit: App.ss.MyProfile.submit
}
</code></pre>


<p>Load actions can use <code><a href="Ext.form.Basic.html#paramOrder" rel="Ext.form.Basic#paramOrder" class="docClass">paramOrder</a></code> or <code><a href="Ext.form.Basic.html#paramsAsHash" rel="Ext.form.Basic#paramsAsHash" class="docClass">paramsAsHash</a></code>
to customize how the load method is invoked.
Submit actions will always use a standard form submit. The <tt>formHandler</tt> configuration must
be set on the associated server-side method which has been imported by <a href="Ext.direct.Manager.html" rel="Ext.direct.Manager" class="docClass">Ext.direct.Manager</a>.</p>

</div></div></div><div id="config-baseParams" class="member ni"><a href="Ext.form.Basic.html#config-baseParams" rel="config-baseParams" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-cfg-baseParams" class="viewSource">view source</a></div><a name="baseParams"></a><a name="config-baseParams"></a><a href="Ext.form.Basic.html#" rel="config-baseParams" class="cls expand">baseParams</a><span> : Object</span></div><div class="description"><div class="short">Parameters to pass with all requests. e.g. baseParams: {id: '123', foo: 'bar'}.


Parameters are encoded as standard ...</div><div class="long"><p>Parameters to pass with all requests. e.g. baseParams: {id: '123', foo: 'bar'}.</p>


<p>Parameters are encoded as standard HTTP parameters using <a href="Ext.html#urlEncode" rel="Ext#urlEncode" class="docClass">Ext.Object.toQueryString</a>.</p>

</div></div></div><div id="config-errorReader" class="member ni"><a href="Ext.form.Basic.html#config-errorReader" rel="config-errorReader" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-cfg-errorReader" class="viewSource">view source</a></div><a name="errorReader"></a><a name="config-errorReader"></a><a href="Ext.form.Basic.html#" rel="config-errorReader" class="cls expand">errorReader</a><span> : Ext.data.reader.Reader</span></div><div class="description"><div class="short">An Ext.data.DataReader (e.g. Ext.data.reader.Xml) to be used to
read field error messages returned from 'submit' acti...</div><div class="long"><p>An Ext.data.DataReader (e.g. <a href="Ext.data.reader.Xml.html" rel="Ext.data.reader.Xml" class="docClass">Ext.data.reader.Xml</a>) to be used to
read field error messages returned from 'submit' actions. This is optional
as there is built-in support for processing JSON responses.</p>


<p>The Records which provide messages for the invalid Fields must use the
Field name (or id) as the Record ID, and must contain a field called 'msg'
which contains the error message.</p>


<p>The errorReader does not have to be a full-blown implementation of a
Reader. It simply needs to implement a <tt>read(xhr)</tt> function
which returns an Array of Records in an object with the following
structure:</p>


<pre><code>{
    records: recordArray
}
</code></pre>

</div></div></div><div id="config-listeners" class="member inherited"><a href="Ext.form.Basic.html#config-listeners" rel="config-listeners" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-cfg-listeners" class="viewSource">view source</a></div><a name="listeners"></a><a name="config-listeners"></a><a href="Ext.form.Basic.html#" rel="config-listeners" class="cls expand">listeners</a><span> : Object</span></div><div class="description"><div class="short">(optional) A config object containing one or more event handlers to be added to this
object during initialization.  T...</div><div class="long"><p>(optional) <p>A config object containing one or more event handlers to be added to this
object during initialization.  This should be a valid listeners config object as specified in the
<a href="Ext.form.Basic.html#addListener" rel="Ext.form.Basic#addListener" class="docClass">addListener</a> example for attaching multiple handlers at once.</p></p>

<br><p><b><u>DOM events from ExtJs <a href="Ext.Component.html" rel="Ext.Component" class="docClass">Components</a></u></b></p>


<br><p>While <i>some</i> ExtJs Component classes export selected DOM events (e.g. "click", "mouseover" etc), this


<p>is usually only done when extra value can be added. For example the <a href="Ext.view.View.html" rel="Ext.view.View" class="docClass">DataView</a>'s
<b><code><a href="Ext.view.View.html#click" rel="Ext.view.View#click" class="docClass">click</a></code></b> event passing the node clicked on. To access DOM
events directly from a child element of a Component, we need to specify the <code>element</code> option to
identify the Component property to add a DOM listener to:</p>

<pre><code>new Ext.panel.Panel({
    width: 400,
    height: 200,
    dockedItems: [{
        xtype: 'toolbar'
    }],
    listeners: {
        click: {
            element: 'el', //bind to the underlying el property on the panel
            fn: function(){ console.log('click el'); }
        },
        dblclick: {
            element: 'body', //bind to the underlying body property on the panel
            fn: function(){ console.log('dblclick body'); }
        }
    }
});
</code></pre>


<p></p></p>
</div></div></div><div id="config-method" class="member ni"><a href="Ext.form.Basic.html#config-method" rel="config-method" class="expand more"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-cfg-method" class="viewSource">view source</a></div><a name="method"></a><a name="config-method"></a><a href="Ext.form.Basic.html#" rel="config-method" class="cls expand">method</a><span> : String</span></div><div class="description"><div class="short"><p>The request method to use (GET or POST) for form actions if one isn't supplied in the action options.</p>
</div><div class="long"><p>The request method to use (GET or POST) for form actions if one isn't supplied in the action options.</p>
</div></div></div><div id="config-paramOrder" class="member ni"><a href="Ext.form.Basic.html#config-paramOrder" rel="config-paramOrder" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-cfg-paramOrder" class="viewSource">view source</a></div><a name="paramOrder"></a><a name="config-paramOrder"></a><a href="Ext.form.Basic.html#" rel="config-paramOrder" class="cls expand">paramOrder</a><span> : Array/String</span></div><div class="description"><div class="short">A list of params to be executed server side.
Defaults to undefined. Only used for the api
load configuration.


Speci...</div><div class="long"><p>A list of params to be executed server side.
Defaults to <tt>undefined</tt>. Only used for the <code><a href="Ext.form.Basic.html#api" rel="Ext.form.Basic#api" class="docClass">api</a></code>
<code>load</code> configuration.</p>


<p>Specify the params in the order in which they must be executed on the
server-side as either (1) an Array of String values, or (2) a String of params
delimited by either whitespace, comma, or pipe. For example,
any of the following would be acceptable:</p>


<pre><code>paramOrder: ['param1','param2','param3']
paramOrder: 'param1 param2 param3'
paramOrder: 'param1,param2,param3'
paramOrder: 'param1|param2|param'
     </code></pre>

</div></div></div><div id="config-paramsAsHash" class="member ni"><a href="Ext.form.Basic.html#config-paramsAsHash" rel="config-paramsAsHash" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-cfg-paramsAsHash" class="viewSource">view source</a></div><a name="paramsAsHash"></a><a name="config-paramsAsHash"></a><a href="Ext.form.Basic.html#" rel="config-paramsAsHash" class="cls expand">paramsAsHash</a><span> : Boolean</span></div><div class="description"><div class="short">Only used for the api
load configuration. If true, parameters will be sent as a
single hash collection of named argum...</div><div class="long"><p>Only used for the <code><a href="Ext.form.Basic.html#api" rel="Ext.form.Basic#api" class="docClass">api</a></code>
<code>load</code> configuration. If <tt>true</tt>, parameters will be sent as a
single hash collection of named arguments (defaults to <tt>false</tt>). Providing a
<tt><a href="Ext.form.Basic.html#paramOrder" rel="Ext.form.Basic#paramOrder" class="docClass">paramOrder</a></tt> nullifies this configuration.</p>
</div></div></div><div id="config-reader" class="member ni"><a href="Ext.form.Basic.html#config-reader" rel="config-reader" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-cfg-reader" class="viewSource">view source</a></div><a name="reader"></a><a name="config-reader"></a><a href="Ext.form.Basic.html#" rel="config-reader" class="cls expand">reader</a><span> : Ext.data.reader.Reader</span></div><div class="description"><div class="short">An Ext.data.DataReader (e.g. Ext.data.reader.Xml) to be used to read
data when executing 'load' actions. This is opti...</div><div class="long"><p>An Ext.data.DataReader (e.g. <a href="Ext.data.reader.Xml.html" rel="Ext.data.reader.Xml" class="docClass">Ext.data.reader.Xml</a>) to be used to read
data when executing 'load' actions. This is optional as there is built-in
support for processing JSON responses.</p>
</div></div></div><div id="config-standardSubmit" class="member ni"><a href="Ext.form.Basic.html#config-standardSubmit" rel="config-standardSubmit" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-cfg-standardSubmit" class="viewSource">view source</a></div><a name="standardSubmit"></a><a name="config-standardSubmit"></a><a href="Ext.form.Basic.html#" rel="config-standardSubmit" class="cls expand">standardSubmit</a><span> : Boolean</span></div><div class="description"><div class="short">If set to true, a standard HTML form submit is used instead
of a XHR (Ajax) style form submission. Defaults to false....</div><div class="long"><p>If set to <tt>true</tt>, a standard HTML form submit is used instead
of a XHR (Ajax) style form submission. Defaults to <tt>false</tt>. All of
the field values, plus any additional params configured via <a href="Ext.form.Basic.html#baseParams" rel="Ext.form.Basic#baseParams" class="docClass">baseParams</a>
and/or the <code>options</code> to <a href="Ext.form.Basic.html#submit" rel="Ext.form.Basic#submit" class="docClass">submit</a>, will be included in the
values submitted in the form.</p>

</div></div></div><div id="config-timeout" class="member ni"><a href="Ext.form.Basic.html#config-timeout" rel="config-timeout" class="expand more"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-cfg-timeout" class="viewSource">view source</a></div><a name="timeout"></a><a name="config-timeout"></a><a href="Ext.form.Basic.html#" rel="config-timeout" class="cls expand">timeout</a><span> : Number</span></div><div class="description"><div class="short"><p>Timeout for form actions in seconds (default is 30 seconds).</p>
</div><div class="long"><p>Timeout for form actions in seconds (default is 30 seconds).</p>
</div></div></div><div id="config-trackResetOnLoad" class="member ni"><a href="Ext.form.Basic.html#config-trackResetOnLoad" rel="config-trackResetOnLoad" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-cfg-trackResetOnLoad" class="viewSource">view source</a></div><a name="trackResetOnLoad"></a><a name="config-trackResetOnLoad"></a><a href="Ext.form.Basic.html#" rel="config-trackResetOnLoad" class="cls expand">trackResetOnLoad</a><span> : Boolean</span></div><div class="description"><div class="short">If set to true, reset() resets to the last loaded
or setValues() data instead of when the form was first created.  De...</div><div class="long"><p>If set to <tt>true</tt>, <a href="Ext.form.Basic.html#reset" rel="Ext.form.Basic#reset" class="docClass">reset</a>() resets to the last loaded
or <a href="Ext.form.Basic.html#setValues" rel="Ext.form.Basic#setValues" class="docClass">setValues</a>() data instead of when the form was first created.  Defaults to <tt>false</tt>.</p>
</div></div></div><div id="config-url" class="member ni"><a href="Ext.form.Basic.html#config-url" rel="config-url" class="expand more"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-cfg-url" class="viewSource">view source</a></div><a name="url"></a><a name="config-url"></a><a href="Ext.form.Basic.html#" rel="config-url" class="cls expand">url</a><span> : String</span></div><div class="description"><div class="short"><p>The URL to use for form actions if one isn't supplied in the
<a href="Ext.form.Basic.html#doAction" rel="Ext.form.Basic#doAction" class="docClass">doAction</a> options.</p>
</div><div class="long"><p>The URL to use for form actions if one isn't supplied in the
<a href="Ext.form.Basic.html#doAction" rel="Ext.form.Basic#doAction" class="docClass">doAction</a> options.</p>
</div></div></div><div id="config-waitMsgTarget" class="member ni"><a href="Ext.form.Basic.html#config-waitMsgTarget" rel="config-waitMsgTarget" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-cfg-waitMsgTarget" class="viewSource">view source</a></div><a name="waitMsgTarget"></a><a name="config-waitMsgTarget"></a><a href="Ext.form.Basic.html#" rel="config-waitMsgTarget" class="cls expand">waitMsgTarget</a><span> : Mixed</span></div><div class="description"><div class="short">By default wait messages are displayed with Ext.MessageBox.wait. You can target a specific
element by passing it or i...</div><div class="long"><p>By default wait messages are displayed with Ext.MessageBox.wait. You can target a specific
element by passing it or its id or mask the form itself by passing in true. Defaults to <tt>undefined</tt>.</p>
</div></div></div><div id="config-waitTitle" class="member ni"><a href="Ext.form.Basic.html#config-waitTitle" rel="config-waitTitle" class="expand more"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-cfg-waitTitle" class="viewSource">view source</a></div><a name="waitTitle"></a><a name="config-waitTitle"></a><a href="Ext.form.Basic.html#" rel="config-waitTitle" class="cls expand">waitTitle</a><span> : String</span></div><div class="description"><div class="short"><p>The default title to show for the waiting message box (defaults to <tt>'Please Wait...'</tt>)</p>
</div><div class="long"><p>The default title to show for the waiting message box (defaults to <tt>'Please Wait...'</tt>)</p>
</div></div></div></div><div class="m-properties"><a name="properties"></a><div class="definedBy">Defined By</div><h3 class="prp p">Properties</h3><div id="property-owner" class="member f ni"><a href="Ext.form.Basic.html#property-owner" rel="property-owner" class="expand more"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-property-owner" class="viewSource">view source</a></div><a name="owner"></a><a name="property-owner"></a><a href="Ext.form.Basic.html#" rel="property-owner" class="cls expand">owner</a><span> : Ext.container.Container</span></div><div class="description"><div class="short"><p>The container component to which this BasicForm is attached.</p>
</div><div class="long"><p>The container component to which this BasicForm is attached.</p>
</div></div></div></div><div class="m-methods"><a name="methods"></a><div class="definedBy">Defined By</div><h3 class="mth p">Methods</h3><div id="method-Basic" class="member f ni"><a href="Ext.form.Basic.html#method-Basic" rel="method-Basic" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-method-constructor" class="viewSource">view source</a></div><a name="Basic"></a><a name="method-Basic"></a><a href="Ext.form.Basic.html#" rel="method-Basic" class="cls expand">Basic</a>(
<span class="pre">Ext.container.Container owner, Object config</span>)
 : void</div><div class="description"><div class="short"><p>&nbsp;</p></div><div class="long">
<h3 class="pa">Parameters</h3><ul><li><span class="pre">owner</span> : Ext.container.Container<div class="sub-desc"><p>The component that is the container for the form, usually a <a href="Ext.form.Panel.html" rel="Ext.form.Panel" class="docClass">Ext.form.Panel</a></p>
</div></li><li><span class="pre">config</span> : Object<div class="sub-desc"><p>Configuration options. These are normally specified in the config to the
<a href="Ext.form.Panel.html" rel="Ext.form.Panel" class="docClass">Ext.form.Panel</a> constructor, which passes them along to the BasicForm automatically.</p>
</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
</li></ul></div></div></div><div id="method-addEvents" class="member inherited"><a href="Ext.form.Basic.html#method-addEvents" rel="method-addEvents" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-addEvents" class="viewSource">view source</a></div><a name="addEvents"></a><a name="method-addEvents"></a><a href="Ext.form.Basic.html#" rel="method-addEvents" class="cls expand">addEvents</a>(
<span class="pre">Object/String o, String </span>)
 : void</div><div class="description"><div class="short"><p>Adds the specified events to the list of events which this Observable may fire.</p>
</div><div class="long"><p>Adds the specified events to the list of events which this Observable may fire.</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">o</span> : Object/String<div class="sub-desc"><p>Either an object with event names as properties with a value of <code>true</code>
or the first event name string if multiple event names are being passed as separate parameters.</p>
</div></li><li><span class="pre"></span> : String<div class="sub-desc"><p>[additional] Optional additional event names if multiple event names are being passed as separate parameters.
Usage:</p>

<pre><code>this.addEvents('storeloaded', 'storecleared');
</code></pre>

</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
</li></ul></div></div></div><div id="method-addListener" class="member inherited"><a href="Ext.form.Basic.html#method-addListener" rel="method-addListener" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-addListener" class="viewSource">view source</a></div><a name="addListener"></a><a name="method-addListener"></a><a href="Ext.form.Basic.html#" rel="method-addListener" class="cls expand">addListener</a>(
<span class="pre">String eventName, Function handler, [Object scope], [Object options]</span>)
 : void</div><div class="description"><div class="short"><p>Appends an event handler to this object.</p>
</div><div class="long"><p>Appends an event handler to this object.</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">eventName</span> : String<div class="sub-desc"><p>The name of the event to listen for. May also be an object who's property names are event names. See</p>
</div></li><li><span class="pre">handler</span> : Function<div class="sub-desc"><p>The method the event invokes.</p>
</div></li><li><span class="pre">scope</span> : Object<div class="sub-desc"><p>(optional) The scope (<code><b>this</b></code> reference) in which the handler function is executed.
<b>If omitted, defaults to the object which fired the event.</b></p>
</div></li><li><span class="pre">options</span> : Object<div class="sub-desc"><p>(optional) An object containing handler configuration.
properties. This may contain any of the following properties:<ul>
<li><b>scope</b> : Object<div class="sub-desc">The scope (<code><b>this</b></code> reference) in which the handler function is executed.
<b>If omitted, defaults to the object which fired the event.</b></div></li>
<li><b>delay</b> : Number<div class="sub-desc">The number of milliseconds to delay the invocation of the handler after the event fires.</div></li>
<li><b>single</b> : Boolean<div class="sub-desc">True to add a handler to handle just the next firing of the event, and then remove itself.</div></li>
<li><b>buffer</b> : Number<div class="sub-desc">Causes the handler to be scheduled to run in an <a href="Ext.util.DelayedTask.html" rel="Ext.util.DelayedTask" class="docClass">Ext.util.DelayedTask</a> delayed
by the specified number of milliseconds. If the event fires again within that time, the original
handler is <em>not</em> invoked, but the new handler is scheduled in its place.</div></li>
<li><b>target</b> : Observable<div class="sub-desc">Only call the handler if the event was fired on the target Observable, <i>not</i>
if the event was bubbled up from a child Observable.</div></li>
<li><b>element</b> : String<div class="sub-desc"><b>This option is only valid for listeners bound to <a href="Ext.Component.html" rel="Ext.Component" class="docClass">Components</a>.</b>
The name of a Component property which references an element to add a listener to.</p>

<p>This option is useful during Component construction to add DOM event listeners to elements of <a href="Ext.Component.html" rel="Ext.Component" class="docClass">Components</a> which
will exist only after the Component is rendered. For example, to add a click listener to a Panel's body:
<pre><code>new Ext.panel.Panel({
    title: 'The title',
    listeners: {
        click: this.handlePanelClick,
        element: 'body'
    }
});
</code></pre></p>


<p>When added in this way, the options available are the options applicable to <a href="Ext.core.Element.html#addListener" rel="Ext.core.Element#addListener" class="docClass">Ext.core.Element.addListener</a></p>


<p></div></li>
</ul><br></p>

<p>
<b>Combining Options</b><br>
Using the options argument, it is possible to combine different types of listeners:<br>
<br>
A delayed, one-time listener.
<pre><code>myPanel.on('hide', this.handleClick, this, {
single: true,
delay: 100
});</code></pre>
<p>
<b>Attaching multiple handlers in 1 call</b><br>
The method also allows for a single argument to be passed which is a config object containing properties
which specify multiple events. For example:
<pre><code>myGridPanel.on({
    cellClick: this.onCellClick,
    mouseover: this.onMouseOver,
    mouseout: this.onMouseOut,
    scope: this // Important. Ensure "this" is correct during handler execution
});
</code></pre>.
<p>

</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
</li></ul></div></div></div><div id="method-addManagedListener" class="member inherited"><a href="Ext.form.Basic.html#method-addManagedListener" rel="method-addManagedListener" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-addManagedListener" class="viewSource">view source</a></div><a name="addManagedListener"></a><a name="method-addManagedListener"></a><a href="Ext.form.Basic.html#" rel="method-addManagedListener" class="cls expand">addManagedListener</a>(
<span class="pre">Observable/Element item, Object/String ename, Function fn, Object scope, Object opt</span>)
 : void</div><div class="description"><div class="short"><p>Adds listeners to any Observable object (or Element) which are automatically removed when this Component
is destroyed.

</div><div class="long"><p>Adds listeners to any Observable object (or Element) which are automatically removed when this Component
is destroyed.

<h3 class="pa">Parameters</h3><ul><li><span class="pre">item</span> : Observable/Element<div class="sub-desc"><p>The item to which to add a listener/listeners.</p>
</div></li><li><span class="pre">ename</span> : Object/String<div class="sub-desc"><p>The event name, or an object containing event name properties.</p>
</div></li><li><span class="pre">fn</span> : Function<div class="sub-desc"><p>Optional. If the <code>ename</code> parameter was an event name, this
is the handler function.</p>
</div></li><li><span class="pre">scope</span> : Object<div class="sub-desc"><p>Optional. If the <code>ename</code> parameter was an event name, this
is the scope (<code>this</code> reference) in which the handler function is executed.</p>
</div></li><li><span class="pre">opt</span> : Object<div class="sub-desc"><p>Optional. If the <code>ename</code> parameter was an event name, this
is the <a href="Ext.util.Observable.html#addListener" rel="Ext.util.Observable#addListener" class="docClass">addListener</a> options.</p>
</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
</li></ul></div></div></div><div id="method-applyIfToFields" class="member ni"><a href="Ext.form.Basic.html#method-applyIfToFields" rel="method-applyIfToFields" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-method-applyIfToFields" class="viewSource">view source</a></div><a name="applyIfToFields"></a><a name="method-applyIfToFields"></a><a href="Ext.form.Basic.html#" rel="method-applyIfToFields" class="cls expand">applyIfToFields</a>(
<span class="pre">Object obj</span>)
 : Ext.form.Basic</div><div class="description"><div class="short"><p>Calls <a href="Ext.html#applyIf" rel="Ext#applyIf" class="docClass">Ext.applyIf</a> for all field in this form with the passed object.</p>
</div><div class="long"><p>Calls <a href="Ext.html#applyIf" rel="Ext#applyIf" class="docClass">Ext.applyIf</a> for all field in this form with the passed object.</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">obj</span> : Object<div class="sub-desc"><p>The object to be applied</p>
</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">Ext.form.Basic</span>&nbsp; &nbsp;<p>this</p>
</li></ul></div></div></div><div id="method-applyToFields" class="member ni"><a href="Ext.form.Basic.html#method-applyToFields" rel="method-applyToFields" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-method-applyToFields" class="viewSource">view source</a></div><a name="applyToFields"></a><a name="method-applyToFields"></a><a href="Ext.form.Basic.html#" rel="method-applyToFields" class="cls expand">applyToFields</a>(
<span class="pre">Object obj</span>)
 : Ext.form.Basic</div><div class="description"><div class="short"><p>Calls <a href="Ext.html#apply" rel="Ext#apply" class="docClass">Ext.apply</a> for all fields in this form with the passed object.</p>
</div><div class="long"><p>Calls <a href="Ext.html#apply" rel="Ext#apply" class="docClass">Ext.apply</a> for all fields in this form with the passed object.</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">obj</span> : Object<div class="sub-desc"><p>The object to be applied</p>
</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">Ext.form.Basic</span>&nbsp; &nbsp;<p>this</p>
</li></ul></div></div></div><div id="method-capture" class="member inherited"><a href="Ext.form.Basic.html#method-capture" rel="method-capture" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-capture" class="viewSource">view source</a></div><a name="capture"></a><a name="method-capture"></a><a href="Ext.form.Basic.html#" rel="method-capture" class="cls expand">capture</a>(
<span class="pre">Observable o, Function fn, [Object scope]</span>)
 : void</div><div class="description"><div class="short">Starts capture on the specified Observable. All events will be passed
to the supplied function with the event name + ...</div><div class="long"><p>Starts capture on the specified Observable. All events will be passed
to the supplied function with the event name + standard signature of the event
<b>before</b> the event is fired. If the supplied function returns false,
the event will not fire.</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">o</span> : Observable<div class="sub-desc"><p>The Observable to capture events from.</p>
</div></li><li><span class="pre">fn</span> : Function<div class="sub-desc"><p>The function to call when an event is fired.</p>
</div></li><li><span class="pre">scope</span> : Object<div class="sub-desc"><p>(optional) The scope (<code>this</code> reference) in which the function is executed. Defaults to the Observable firing the event.</p>
</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
</li></ul></div></div></div><div id="method-checkDirty" class="member ni"><a href="Ext.form.Basic.html#method-checkDirty" rel="method-checkDirty" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-method-checkDirty" class="viewSource">view source</a></div><a name="checkDirty"></a><a name="method-checkDirty"></a><a href="Ext.form.Basic.html#" rel="method-checkDirty" class="cls expand">checkDirty</a> : void</div><div class="description"><div class="short">Check whether the dirty state of the entire form has changed since it was last checked, and
if so fire the dirtychang...</div><div class="long"><p>Check whether the dirty state of the entire form has changed since it was last checked, and
if so fire the <a href="Ext.form.Basic.html#dirtychange" rel="Ext.form.Basic#dirtychange" class="docClass">dirtychange</a> event. This is automatically invoked
when an individual field's dirty state changes.</p>
<h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
</li></ul></div></div></div><div id="method-checkValidity" class="member ni"><a href="Ext.form.Basic.html#method-checkValidity" rel="method-checkValidity" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-method-checkValidity" class="viewSource">view source</a></div><a name="checkValidity"></a><a name="method-checkValidity"></a><a href="Ext.form.Basic.html#" rel="method-checkValidity" class="cls expand">checkValidity</a> : void</div><div class="description"><div class="short">Check whether the validity of the entire form has changed since it was last checked, and
if so fire the validitychang...</div><div class="long"><p>Check whether the validity of the entire form has changed since it was last checked, and
if so fire the <a href="Ext.form.Basic.html#validitychange" rel="Ext.form.Basic#validitychange" class="docClass">validitychange</a> event. This is automatically invoked
when an individual field's validity changes.</p>
<h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
</li></ul></div></div></div><div id="method-clearInvalid" class="member ni"><a href="Ext.form.Basic.html#method-clearInvalid" rel="method-clearInvalid" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-method-clearInvalid" class="viewSource">view source</a></div><a name="clearInvalid"></a><a name="method-clearInvalid"></a><a href="Ext.form.Basic.html#" rel="method-clearInvalid" class="cls expand">clearInvalid</a> : Ext.form.Basic</div><div class="description"><div class="short"><p>Clears all invalid field messages in this form.</p>
</div><div class="long"><p>Clears all invalid field messages in this form.</p>
<h3 class="pa">Returns</h3><ul><li><span class="pre">Ext.form.Basic</span>&nbsp; &nbsp;<p>this</p>
</li></ul></div></div></div><div id="method-clearListeners" class="member inherited"><a href="Ext.form.Basic.html#method-clearListeners" rel="method-clearListeners" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-clearListeners" class="viewSource">view source</a></div><a name="clearListeners"></a><a name="method-clearListeners"></a><a href="Ext.form.Basic.html#" rel="method-clearListeners" class="cls expand">clearListeners</a> : void</div><div class="description"><div class="short"><p>Removes all listeners for this object including the managed listeners</p>
</div><div class="long"><p>Removes all listeners for this object including the managed listeners</p>
<h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
</li></ul></div></div></div><div id="method-clearManagedListeners" class="member inherited"><a href="Ext.form.Basic.html#method-clearManagedListeners" rel="method-clearManagedListeners" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-clearManagedListeners" class="viewSource">view source</a></div><a name="clearManagedListeners"></a><a name="method-clearManagedListeners"></a><a href="Ext.form.Basic.html#" rel="method-clearManagedListeners" class="cls expand">clearManagedListeners</a> : void</div><div class="description"><div class="short"><p>Removes all managed listeners for this object.</p>
</div><div class="long"><p>Removes all managed listeners for this object.</p>
<h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
</li></ul></div></div></div><div id="method-destroy" class="member ni"><a href="Ext.form.Basic.html#method-destroy" rel="method-destroy" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-method-destroy" class="viewSource">view source</a></div><a name="destroy"></a><a name="method-destroy"></a><a href="Ext.form.Basic.html#" rel="method-destroy" class="cls expand">destroy</a> : void</div><div class="description"><div class="short"><p>Destroys this object.</p>
</div><div class="long"><p>Destroys this object.</p>
<h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
</li></ul></div></div></div><div id="method-doAction" class="member ni"><a href="Ext.form.Basic.html#method-doAction" rel="method-doAction" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-method-doAction" class="viewSource">view source</a></div><a name="doAction"></a><a name="method-doAction"></a><a href="Ext.form.Basic.html#" rel="method-doAction" class="cls expand">doAction</a>(
<span class="pre">String/Ext.form.action.Action action, [Object options]</span>)
 : Ext.form.Basic</div><div class="description"><div class="short"><p>Performs a predefined action (an implementation of <a href="Ext.form.action.Action.html" rel="Ext.form.action.Action" class="docClass">Ext.form.action.Action</a>)
to perform application-specific processing.</p>
</div><div class="long"><p>Performs a predefined action (an implementation of <a href="Ext.form.action.Action.html" rel="Ext.form.action.Action" class="docClass">Ext.form.action.Action</a>)
to perform application-specific processing.</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">action</span> : String/Ext.form.action.Action<div class="sub-desc"><p>The name of the predefined action type,
or instance of <a href="Ext.form.action.Action.html" rel="Ext.form.action.Action" class="docClass">Ext.form.action.Action</a> to perform.</p>
</div></li><li><span class="pre">options</span> : Object<div class="sub-desc"><p>(optional) The options to pass to the <a href="Ext.form.action.Action.html" rel="Ext.form.action.Action" class="docClass">Ext.form.action.Action</a>
that will get created, if the <tt>action</tt> argument is a String.</p>

<p>All of the config options listed below are supported by both the
<a href="Ext.form.action.Submit.html" rel="Ext.form.action.Submit" class="docClass">submit</a> and <a href="Ext.form.action.Load.html" rel="Ext.form.action.Load" class="docClass">load</a>
actions unless otherwise noted (custom actions could also accept
other config options):</p>


<ul>

<li><b>url</b> : String<div class="sub-desc">The url for the action (defaults
to the form's <a href="Ext.form.Basic.html#url" rel="Ext.form.Basic#url" class="docClass">url</a>.)</div></li>

<li><b>method</b> : String<div class="sub-desc">The form method to use (defaults
to the form's method, or POST if not defined)</div></li>

<li><b>params</b> : String/Object<div class="sub-desc"><p>The params to pass
(defaults to the form's baseParams, or none if not defined)</p>
<p>Parameters are encoded as standard HTTP parameters using <a href="Ext.html#urlEncode" rel="Ext#urlEncode" class="docClass">Ext.Object.toQueryString</a>.</p></div></li>

<li><b>headers</b> : Object<div class="sub-desc">Request headers to set for the action.</div></li>

<li><b>success</b> : Function<div class="sub-desc">The callback that will
be invoked after a successful response (see top of
<a href="Ext.form.action.Submit.html" rel="Ext.form.action.Submit" class="docClass">submit</a> and <a href="Ext.form.action.Load.html" rel="Ext.form.action.Load" class="docClass">load</a>
for a description of what constitutes a successful response).
The function is passed the following parameters:<ul>
<li><tt>form</tt> : The <a href="Ext.form.Basic.html" rel="Ext.form.Basic" class="docClass">Ext.form.Basic</a> that requested the action.</li>
<li><tt>action</tt> : The <a href="Ext.form.action.Action.html" rel="Ext.form.action.Action" class="docClass">Action</a> object which performed the operation.
<div class="sub-desc">The action object contains these properties of interest:<ul>
<li><tt><a href="Ext.form.action.Action.html#response" rel="Ext.form.action.Action#response" class="docClass">response</a></tt></li>
<li><tt><a href="Ext.form.action.Action.html#result" rel="Ext.form.action.Action#result" class="docClass">result</a></tt> : interrogate for custom postprocessing</li>
<li><tt><a href="Ext.form.action.Action.html#type" rel="Ext.form.action.Action#type" class="docClass">type</a></tt></li>
</ul></div></li></ul></div></li>

<li><b>failure</b> : Function<div class="sub-desc">The callback that will be invoked after a
failed transaction attempt. The function is passed the following parameters:<ul>
<li><tt>form</tt> : The <a href="Ext.form.Basic.html" rel="Ext.form.Basic" class="docClass">Ext.form.Basic</a> that requested the action.</li>
<li><tt>action</tt> : The <a href="Ext.form.action.Action.html" rel="Ext.form.action.Action" class="docClass">Action</a> object which performed the operation.
<div class="sub-desc">The action object contains these properties of interest:<ul>
<li><tt><a href="Ext.form.action.Action.html#failureType" rel="Ext.form.action.Action#failureType" class="docClass">failureType</a></tt></li>
<li><tt><a href="Ext.form.action.Action.html#response" rel="Ext.form.action.Action#response" class="docClass">response</a></tt></li>
<li><tt><a href="Ext.form.action.Action.html#result" rel="Ext.form.action.Action#result" class="docClass">result</a></tt> : interrogate for custom postprocessing</li>
<li><tt><a href="Ext.form.action.Action.html#type" rel="Ext.form.action.Action#type" class="docClass">type</a></tt></li>
</ul></div></li></ul></div></li>

<li><b>scope</b> : Object<div class="sub-desc">The scope in which to call the
callback functions (The <tt>this</tt> reference for the callback functions).</div></li>

<li><b>clientValidation</b> : Boolean<div class="sub-desc">Submit Action only.
Determines whether a Form's fields are validated in a final call to
<a href="Ext.form.Basic.html#isValid" rel="Ext.form.Basic#isValid" class="docClass">isValid</a> prior to submission. Set to <tt>false</tt>
to prevent this. If undefined, pre-submission field validation is performed.</div></li></ul>

</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">Ext.form.Basic</span>&nbsp; &nbsp;<p>this</p>
</li></ul></div></div></div><div id="method-enableBubble" class="member inherited"><a href="Ext.form.Basic.html#method-enableBubble" rel="method-enableBubble" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-enableBubble" class="viewSource">view source</a></div><a name="enableBubble"></a><a name="method-enableBubble"></a><a href="Ext.form.Basic.html#" rel="method-enableBubble" class="cls expand">enableBubble</a>(
<span class="pre">String/Array events</span>)
 : void</div><div class="description"><div class="short">Enables events fired by this Observable to bubble up an owner hierarchy by calling
this.getBubbleTarget() if present....</div><div class="long"><p>Enables events fired by this Observable to bubble up an owner hierarchy by calling
<code>this.getBubbleTarget()</code> if present. There is no implementation in the Observable base class.</p>


<p>This is commonly used by Ext.Components to bubble events to owner Containers. See <a href="Ext.Component.html#getBubbleTarget" rel="Ext.Component#getBubbleTarget" class="docClass">Ext.Component.getBubbleTarget</a>. The default
implementation in <a href="Ext.Component.html" rel="Ext.Component" class="docClass">Ext.Component</a> returns the Component's immediate owner. But if a known target is required, this can be overridden to
access the required target more quickly.</p>


<p>Example:</p>


<pre><code>Ext.override(Ext.form.field.Base, {
//  Add functionality to Field&#39;s initComponent to enable the change event to bubble
initComponent : Ext.Function.createSequence(Ext.form.field.Base.prototype.initComponent, function() {
    this.enableBubble('change');
}),

//  We know that we want Field&#39;s events to bubble directly to the FormPanel.
getBubbleTarget : function() {
    if (!this.formPanel) {
        this.formPanel = this.findParentByType('form');
    }
    return this.formPanel;
}
});

var myForm = new Ext.formPanel({
title: 'User Details',
items: [{
    ...
}],
listeners: {
    change: function() {
        // Title goes red if form has been modified.
        myForm.header.setStyle('color', 'red');
    }
}
});
</code></pre>

<h3 class="pa">Parameters</h3><ul><li><span class="pre">events</span> : String/Array<div class="sub-desc"><p>The event name to bubble, or an Array of event names.</p>
</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
</li></ul></div></div></div><div id="method-findField" class="member ni"><a href="Ext.form.Basic.html#method-findField" rel="method-findField" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-method-findField" class="viewSource">view source</a></div><a name="findField"></a><a name="method-findField"></a><a href="Ext.form.Basic.html#" rel="method-findField" class="cls expand">findField</a>(
<span class="pre">String id</span>)
 : void</div><div class="description"><div class="short"><p>Find a specific <a href="Ext.form.field.Field.html" rel="Ext.form.field.Field" class="docClass">Ext.form.field.Field</a> in this form by id or name.</p>
</div><div class="long"><p>Find a specific <a href="Ext.form.field.Field.html" rel="Ext.form.field.Field" class="docClass">Ext.form.field.Field</a> in this form by id or name.</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">id</span> : String<div class="sub-desc"><p>The value to search for (specify either a <a href="Ext.Component.html#id" rel="Ext.Component#id" class="docClass">id</a> or
<a href="Ext.form.field.Field.html#getName" rel="Ext.form.field.Field#getName" class="docClass">name or hiddenName</a>).</p>
</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;<p>Ext.form.field.Field The first matching field, or <tt>null</tt> if none was found.</p>
</li></ul></div></div></div><div id="method-fireEvent" class="member inherited"><a href="Ext.form.Basic.html#method-fireEvent" rel="method-fireEvent" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-fireEvent" class="viewSource">view source</a></div><a name="fireEvent"></a><a name="method-fireEvent"></a><a href="Ext.form.Basic.html#" rel="method-fireEvent" class="cls expand">fireEvent</a>(
<span class="pre">String eventName, Object... args</span>)
 : Boolean</div><div class="description"><div class="short">Fires the specified event with the passed parameters (minus the event name).


An event may be set to bubble up an Ob...</div><div class="long"><p>Fires the specified event with the passed parameters (minus the event name).</p>


<p>An event may be set to bubble up an Observable parent hierarchy (See <a href="Ext.Component.html#getBubbleTarget" rel="Ext.Component#getBubbleTarget" class="docClass">Ext.Component.getBubbleTarget</a>)
by calling <a href="Ext.form.Basic.html#enableBubble" rel="Ext.form.Basic#enableBubble" class="docClass">enableBubble</a>.</p>

<h3 class="pa">Parameters</h3><ul><li><span class="pre">eventName</span> : String<div class="sub-desc"><p>The name of the event to fire.</p>
</div></li><li><span class="pre">args</span> : Object...<div class="sub-desc"><p>Variable number of parameters are passed to handlers.</p>
</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">Boolean</span>&nbsp; &nbsp;<p>returns false if any of the handlers return false otherwise it returns true.</p>
</li></ul></div></div></div><div id="method-getFieldValues" class="member ni"><a href="Ext.form.Basic.html#method-getFieldValues" rel="method-getFieldValues" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-method-getFieldValues" class="viewSource">view source</a></div><a name="getFieldValues"></a><a name="method-getFieldValues"></a><a href="Ext.form.Basic.html#" rel="method-getFieldValues" class="cls expand">getFieldValues</a>(
<span class="pre">[Boolean dirtyOnly]</span>)
 : Object</div><div class="description"><div class="short">Retrieves the fields in the form as a set of key/value pairs, using their
getModelData() method to collect the values...</div><div class="long"><p>Retrieves the fields in the form as a set of key/value pairs, using their
<a href="Ext.form.field.Field.html#getModelData" rel="Ext.form.field.Field#getModelData" class="docClass">getModelData()</a> method to collect the values.
If multiple fields return values under the same name those values will be combined into an Array.
This is similar to <a href="Ext.form.Basic.html#getValues" rel="Ext.form.Basic#getValues" class="docClass">getValues</a> except that this method collects type-specific data values
(e.g. Date objects for date fields) while getValues returns only String values for submission.</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">dirtyOnly</span> : Boolean<div class="sub-desc"><p>(optional) If true, only fields that are dirty will be included in the result.
Defaults to false.</p>
</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">Object</span>&nbsp; &nbsp;
</li></ul></div></div></div><div id="method-getFields" class="member ni"><a href="Ext.form.Basic.html#method-getFields" rel="method-getFields" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-method-getFields" class="viewSource">view source</a></div><a name="getFields"></a><a name="method-getFields"></a><a href="Ext.form.Basic.html#" rel="method-getFields" class="cls expand">getFields</a> : Ext.util.MixedCollection</div><div class="description"><div class="short"><p>Return all the <a href="Ext.form.field.Field.html" rel="Ext.form.field.Field" class="docClass">Ext.form.field.Field</a> components in the owner container.</p>
</div><div class="long"><p>Return all the <a href="Ext.form.field.Field.html" rel="Ext.form.field.Field" class="docClass">Ext.form.field.Field</a> components in the owner container.</p>
<h3 class="pa">Returns</h3><ul><li><span class="pre">Ext.util.MixedCollection</span>&nbsp; &nbsp;<p>Collection of the Field objects</p>
</li></ul></div></div></div><div id="method-getRecord" class="member ni"><a href="Ext.form.Basic.html#method-getRecord" rel="method-getRecord" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-method-getRecord" class="viewSource">view source</a></div><a name="getRecord"></a><a name="method-getRecord"></a><a href="Ext.form.Basic.html#" rel="method-getRecord" class="cls expand">getRecord</a> : Ext.data.Model</div><div class="description"><div class="short"><p>Returns the last <a href="Ext.data.Model.html" rel="Ext.data.Model" class="docClass">Ext.data.Model</a> instance that was loaded via <a href="Ext.form.Basic.html#loadRecord" rel="Ext.form.Basic#loadRecord" class="docClass">loadRecord</a></p>
</div><div class="long"><p>Returns the last <a href="Ext.data.Model.html" rel="Ext.data.Model" class="docClass">Ext.data.Model</a> instance that was loaded via <a href="Ext.form.Basic.html#loadRecord" rel="Ext.form.Basic#loadRecord" class="docClass">loadRecord</a></p>
<h3 class="pa">Returns</h3><ul><li><span class="pre">Ext.data.Model</span>&nbsp; &nbsp;<p>The record</p>
</li></ul></div></div></div><div id="method-getValues" class="member ni"><a href="Ext.form.Basic.html#method-getValues" rel="method-getValues" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-method-getValues" class="viewSource">view source</a></div><a name="getValues"></a><a name="method-getValues"></a><a href="Ext.form.Basic.html#" rel="method-getValues" class="cls expand">getValues</a>(
<span class="pre">[Boolean asString], [Boolean dirtyOnly], [Boolean includeEmptyText], Object useDataValues</span>)
 : String/Object</div><div class="description"><div class="short">Retrieves the fields in the form as a set of key/value pairs, using their
getSubmitData() method to collect the value...</div><div class="long"><p>Retrieves the fields in the form as a set of key/value pairs, using their
<a href="Ext.form.field.Field.html#getSubmitData" rel="Ext.form.field.Field#getSubmitData" class="docClass">getSubmitData()</a> method to collect the values.
If multiple fields return values under the same name those values will be combined into an Array.
This is similar to <a href="Ext.form.Basic.html#getFieldValues" rel="Ext.form.Basic#getFieldValues" class="docClass">getFieldValues</a> except that this method collects only String values for
submission, while getFieldValues collects type-specific data values (e.g. Date objects for date fields.)</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">asString</span> : Boolean<div class="sub-desc"><p>(optional) If true, will return the key/value collection as a single
URL-encoded param string. Defaults to false.</p>
</div></li><li><span class="pre">dirtyOnly</span> : Boolean<div class="sub-desc"><p>(optional) If true, only fields that are dirty will be included in the result.
Defaults to false.</p>
</div></li><li><span class="pre">includeEmptyText</span> : Boolean<div class="sub-desc"><p>(optional) If true, the configured emptyText of empty fields will be used.
Defaults to false.</p>
</div></li><li><span class="pre">useDataValues</span> : Object<div class="sub-desc">
</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">String/Object</span>&nbsp; &nbsp;
</li></ul></div></div></div><div id="method-hasInvalidField" class="member ni"><a href="Ext.form.Basic.html#method-hasInvalidField" rel="method-hasInvalidField" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-method-hasInvalidField" class="viewSource">view source</a></div><a name="hasInvalidField"></a><a name="method-hasInvalidField"></a><a href="Ext.form.Basic.html#" rel="method-hasInvalidField" class="cls expand">hasInvalidField</a> : void</div><div class="description"><div class="short">Returns true if the form contains any invalid fields. No fields will be marked as invalid
as a result of calling this...</div><div class="long"><p>Returns true if the form contains any invalid fields. No fields will be marked as invalid
as a result of calling this; to trigger marking of fields use <a href="Ext.form.Basic.html#isValid" rel="Ext.form.Basic#isValid" class="docClass">isValid</a> instead.</p>
<h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
</li></ul></div></div></div><div id="method-hasListener" class="member inherited"><a href="Ext.form.Basic.html#method-hasListener" rel="method-hasListener" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-hasListener" class="viewSource">view source</a></div><a name="hasListener"></a><a name="method-hasListener"></a><a href="Ext.form.Basic.html#" rel="method-hasListener" class="cls expand">hasListener</a>(
<span class="pre">String eventName</span>)
 : Boolean</div><div class="description"><div class="short"><p>Checks to see if this object has any listeners for a specified event</p>
</div><div class="long"><p>Checks to see if this object has any listeners for a specified event</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">eventName</span> : String<div class="sub-desc"><p>The name of the event to check for</p>
</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">Boolean</span>&nbsp; &nbsp;<p>True if the event is being listened for, else false</p>
</li></ul></div></div></div><div id="method-hasUpload" class="member ni"><a href="Ext.form.Basic.html#method-hasUpload" rel="method-hasUpload" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-method-hasUpload" class="viewSource">view source</a></div><a name="hasUpload"></a><a name="method-hasUpload"></a><a href="Ext.form.Basic.html#" rel="method-hasUpload" class="cls expand">hasUpload</a> : void</div><div class="description"><div class="short">Returns true if the form contains a file upload field. This is used to determine the
method for submitting the form: ...</div><div class="long"><p>Returns true if the form contains a file upload field. This is used to determine the
method for submitting the form: File uploads are not performed using normal 'Ajax' techniques,
that is they are <b>not</b> performed using XMLHttpRequests. Instead a hidden <tt>&lt;form></tt>
element containing all the fields is created temporarily and submitted with its
<a href="http://www.w3.org/TR/REC-html40/present/frames.html#adef-target">target</a> set to refer
to a dynamically generated, hidden <tt>&lt;iframe></tt> which is inserted into the document
but removed after the return data has been gathered.</p>


<p>The server response is parsed by the browser to create the document for the IFRAME. If the
server is using JSON to send the return object, then the
<a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17">Content-Type</a> header
must be set to "text/html" in order to tell the browser to insert the text unchanged into the document body.</p>


<p>Characters which are significant to an HTML parser must be sent as HTML entities, so encode
"&lt;" as "&amp;lt;", "&amp;" as "&amp;amp;" etc.</p>


<p>The response text is retrieved from the document, and a fake XMLHttpRequest object
is created containing a <tt>responseText</tt> property in order to conform to the
requirements of event handlers and callbacks.</p>


<p>Be aware that file upload packets are sent with the content type <a href="http://www.faqs.org/rfcs/rfc2388.html">multipart/form</a>
and some server technologies (notably JEE) may require some custom processing in order to
retrieve parameter names and parameter values from the packet content.</p>

<h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;<p>Boolean</p>
</li></ul></div></div></div><div id="method-isDirty" class="member ni"><a href="Ext.form.Basic.html#method-isDirty" rel="method-isDirty" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-method-isDirty" class="viewSource">view source</a></div><a name="isDirty"></a><a name="method-isDirty"></a><a href="Ext.form.Basic.html#" rel="method-isDirty" class="cls expand">isDirty</a> : void</div><div class="description"><div class="short">Returns true if any fields in this form have changed from their original values.


Note that if this BasicForm was co...</div><div class="long"><p>Returns true if any fields in this form have changed from their original values.</p>


<p>Note that if this BasicForm was configured with <a href="Ext.form.Basic.html#trackResetOnLoad" rel="Ext.form.Basic#trackResetOnLoad" class="docClass">trackResetOnLoad</a> then the
Fields' <em>original values</em> are updated when the values are loaded by <a href="Ext.form.Basic.html#setValues" rel="Ext.form.Basic#setValues" class="docClass">setValues</a>
or <a href="Ext.form.Basic.html#loadRecord" rel="Ext.form.Basic#loadRecord" class="docClass">loadRecord</a>.</p>

<h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;<p>Boolean</p>
</li></ul></div></div></div><div id="method-isValid" class="member ni"><a href="Ext.form.Basic.html#method-isValid" rel="method-isValid" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-method-isValid" class="viewSource">view source</a></div><a name="isValid"></a><a name="method-isValid"></a><a href="Ext.form.Basic.html#" rel="method-isValid" class="cls expand">isValid</a> : void</div><div class="description"><div class="short">Returns true if client-side validation on the form is successful. Any invalid fields will be
marked as invalid. If yo...</div><div class="long"><p>Returns true if client-side validation on the form is successful. Any invalid fields will be
marked as invalid. If you only want to determine overall form validity without marking anything,
use <a href="Ext.form.Basic.html#hasInvalidField" rel="Ext.form.Basic#hasInvalidField" class="docClass">hasInvalidField</a> instead.</p>
<h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;<p>Boolean</p>
</li></ul></div></div></div><div id="method-load" class="member ni"><a href="Ext.form.Basic.html#method-load" rel="method-load" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-method-load" class="viewSource">view source</a></div><a name="load"></a><a name="method-load"></a><a href="Ext.form.Basic.html#" rel="method-load" class="cls expand">load</a>(
<span class="pre">Object options</span>)
 : Ext.form.Basic</div><div class="description"><div class="short"><p>Shortcut to <a href="Ext.form.Basic.html#doAction" rel="Ext.form.Basic#doAction" class="docClass">do</a> a <a href="Ext.form.action.Load.html" rel="Ext.form.action.Load" class="docClass">load action</a>.</p>
</div><div class="long"><p>Shortcut to <a href="Ext.form.Basic.html#doAction" rel="Ext.form.Basic#doAction" class="docClass">do</a> a <a href="Ext.form.action.Load.html" rel="Ext.form.action.Load" class="docClass">load action</a>.</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">options</span> : Object<div class="sub-desc"><p>The options to pass to the action (see <a href="Ext.form.Basic.html#doAction" rel="Ext.form.Basic#doAction" class="docClass">doAction</a> for details)</p>
</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">Ext.form.Basic</span>&nbsp; &nbsp;<p>this</p>
</li></ul></div></div></div><div id="method-loadRecord" class="member ni"><a href="Ext.form.Basic.html#method-loadRecord" rel="method-loadRecord" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-method-loadRecord" class="viewSource">view source</a></div><a name="loadRecord"></a><a name="method-loadRecord"></a><a href="Ext.form.Basic.html#" rel="method-loadRecord" class="cls expand">loadRecord</a>(
<span class="pre">Ext.data.Model record</span>)
 : Ext.form.Basic</div><div class="description"><div class="short"><p>Loads an <a href="Ext.data.Model.html" rel="Ext.data.Model" class="docClass">Ext.data.Model</a> into this form by calling <a href="Ext.form.Basic.html#setValues" rel="Ext.form.Basic#setValues" class="docClass">setValues</a> with the
<a href="Ext.data.Model.html#data" rel="Ext.data.Model#data" class="docClass">record data</a>.
See also <a href="Ext.form.Basic.html#trackResetOnLoad" rel="Ext.form.Basic#trackResetOnLoad" class="docClass">trackResetOnLoad</a>.</p>
</div><div class="long"><p>Loads an <a href="Ext.data.Model.html" rel="Ext.data.Model" class="docClass">Ext.data.Model</a> into this form by calling <a href="Ext.form.Basic.html#setValues" rel="Ext.form.Basic#setValues" class="docClass">setValues</a> with the
<a href="Ext.data.Model.html#data" rel="Ext.data.Model#data" class="docClass">record data</a>.
See also <a href="Ext.form.Basic.html#trackResetOnLoad" rel="Ext.form.Basic#trackResetOnLoad" class="docClass">trackResetOnLoad</a>.</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">record</span> : Ext.data.Model<div class="sub-desc"><p>The record to load</p>
</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">Ext.form.Basic</span>&nbsp; &nbsp;<p>this</p>
</li></ul></div></div></div><div id="method-markInvalid" class="member ni"><a href="Ext.form.Basic.html#method-markInvalid" rel="method-markInvalid" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-method-markInvalid" class="viewSource">view source</a></div><a name="markInvalid"></a><a name="method-markInvalid"></a><a href="Ext.form.Basic.html#" rel="method-markInvalid" class="cls expand">markInvalid</a>(
<span class="pre">Array/Object errors</span>)
 : Ext.form.Basic</div><div class="description"><div class="short"><p>Mark fields in this form invalid in bulk.</p>
</div><div class="long"><p>Mark fields in this form invalid in bulk.</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">errors</span> : Array/Object<div class="sub-desc"><p>Either an array in the form <code>[{id:'fieldId', msg:'The message'}, ...]</code>,
an object hash of <code>{id: msg, id2: msg2}</code>, or a <a href="Ext.data.Errors.html" rel="Ext.data.Errors" class="docClass">Ext.data.Errors</a> object.</p>
</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">Ext.form.Basic</span>&nbsp; &nbsp;<p>this</p>
</li></ul></div></div></div><div id="method-observe" class="member inherited"><a href="Ext.form.Basic.html#method-observe" rel="method-observe" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-observe" class="viewSource">view source</a></div><a name="observe"></a><a name="method-observe"></a><a href="Ext.form.Basic.html#" rel="method-observe" class="cls expand">observe</a>(
<span class="pre">Function c, Object listeners</span>)
 : void</div><div class="description"><div class="short">Sets observability on the passed class constructor.

This makes any event fired on any instance of the passed class a...</div><div class="long"><p>Sets observability on the passed class constructor.</p>

<p>This makes any event fired on any instance of the passed class also fire a single event through
the <strong>class</strong> allowing for central handling of events on many instances at once.</p>

<p>Usage:</p>

<pre><code>Ext.util.Observable.observe(Ext.data.Connection);
Ext.data.Connection.on('beforerequest', function(con, options) {
    console.log('Ajax request made to ' + options.url);
});
</code></pre>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">c</span> : Function<div class="sub-desc"><p>The class constructor to make observable.</p>
</div></li><li><span class="pre">listeners</span> : Object<div class="sub-desc"><p>An object containing a series of listeners to add. See <a href="Ext.form.Basic.html#addListener" rel="Ext.form.Basic#addListener" class="docClass">addListener</a>.</p>
</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
</li></ul></div></div></div><div id="method-on" class="member inherited"><a href="Ext.form.Basic.html#method-on" rel="method-on" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-on" class="viewSource">view source</a></div><a name="on"></a><a name="method-on"></a><a href="Ext.form.Basic.html#" rel="method-on" class="cls expand">on</a>(
<span class="pre">String eventName, Function handler, [Object scope], [Object options]</span>)
 : void</div><div class="description"><div class="short"><p>Appends an event handler to this object (shorthand for <a href="Ext.form.Basic.html#addListener" rel="Ext.form.Basic#addListener" class="docClass">addListener</a>.)</p>
</div><div class="long"><p>Appends an event handler to this object (shorthand for <a href="Ext.form.Basic.html#addListener" rel="Ext.form.Basic#addListener" class="docClass">addListener</a>.)</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">eventName</span> : String<div class="sub-desc"><p>The type of event to listen for</p>
</div></li><li><span class="pre">handler</span> : Function<div class="sub-desc"><p>The method the event invokes</p>
</div></li><li><span class="pre">scope</span> : Object<div class="sub-desc"><p>(optional) The scope (<code><b>this</b></code> reference) in which the handler function is executed.
<b>If omitted, defaults to the object which fired the event.</b></p>
</div></li><li><span class="pre">options</span> : Object<div class="sub-desc"><p>(optional) An object containing handler configuration.</p>
</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
</li></ul></div></div></div><div id="method-relayEvents" class="member inherited"><a href="Ext.form.Basic.html#method-relayEvents" rel="method-relayEvents" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-relayEvents" class="viewSource">view source</a></div><a name="relayEvents"></a><a name="method-relayEvents"></a><a href="Ext.form.Basic.html#" rel="method-relayEvents" class="cls expand">relayEvents</a>(
<span class="pre">Object origin, Array events, Object prefix</span>)
 : void</div><div class="description"><div class="short"><p>Relays selected events from the specified Observable as if the events were fired by <code><b>this</b></code>.</p>
</div><div class="long"><p>Relays selected events from the specified Observable as if the events were fired by <code><b>this</b></code>.</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">origin</span> : Object<div class="sub-desc"><p>The Observable whose events this object is to relay.</p>
</div></li><li><span class="pre">events</span> : Array<div class="sub-desc"><p>Array of event names to relay.</p>
</div></li><li><span class="pre">prefix</span> : Object<div class="sub-desc">
</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
</li></ul></div></div></div><div id="method-releaseCapture" class="member inherited"><a href="Ext.form.Basic.html#method-releaseCapture" rel="method-releaseCapture" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-releaseCapture" class="viewSource">view source</a></div><a name="releaseCapture"></a><a name="method-releaseCapture"></a><a href="Ext.form.Basic.html#" rel="method-releaseCapture" class="cls expand">releaseCapture</a>(
<span class="pre">Observable o</span>)
 : void</div><div class="description"><div class="short"><p>Removes <b>all</b> added captures from the Observable.</p>
</div><div class="long"><p>Removes <b>all</b> added captures from the Observable.</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">o</span> : Observable<div class="sub-desc"><p>The Observable to release</p>
</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
</li></ul></div></div></div><div id="method-removeListener" class="member inherited"><a href="Ext.form.Basic.html#method-removeListener" rel="method-removeListener" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-removeListener" class="viewSource">view source</a></div><a name="removeListener"></a><a name="method-removeListener"></a><a href="Ext.form.Basic.html#" rel="method-removeListener" class="cls expand">removeListener</a>(
<span class="pre">String eventName, Function handler, [Object scope]</span>)
 : void</div><div class="description"><div class="short"><p>Removes an event handler.</p>
</div><div class="long"><p>Removes an event handler.</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">eventName</span> : String<div class="sub-desc"><p>The type of event the handler was associated with.</p>
</div></li><li><span class="pre">handler</span> : Function<div class="sub-desc"><p>The handler to remove. <b>This must be a reference to the function passed into the <a href="Ext.form.Basic.html#addListener" rel="Ext.form.Basic#addListener" class="docClass">addListener</a> call.</b></p>
</div></li><li><span class="pre">scope</span> : Object<div class="sub-desc"><p>(optional) The scope originally specified for the handler.</p>
</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
</li></ul></div></div></div><div id="method-removeManagedListener" class="member inherited"><a href="Ext.form.Basic.html#method-removeManagedListener" rel="method-removeManagedListener" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-removeManagedListener" class="viewSource">view source</a></div><a name="removeManagedListener"></a><a name="method-removeManagedListener"></a><a href="Ext.form.Basic.html#" rel="method-removeManagedListener" class="cls expand">removeManagedListener</a>(
<span class="pre">Observable|Element item, Object|String ename, Function fn, Object scope</span>)
 : void</div><div class="description"><div class="short"><p>Removes listeners that were added by the <a href="Ext.form.Basic.html#mon" rel="Ext.form.Basic#mon" class="docClass">mon</a> method.</p>
</div><div class="long"><p>Removes listeners that were added by the <a href="Ext.form.Basic.html#mon" rel="Ext.form.Basic#mon" class="docClass">mon</a> method.</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">item</span> : Observable|Element<div class="sub-desc"><p>The item from which to remove a listener/listeners.</p>
</div></li><li><span class="pre">ename</span> : Object|String<div class="sub-desc"><p>The event name, or an object containing event name properties.</p>
</div></li><li><span class="pre">fn</span> : Function<div class="sub-desc"><p>Optional. If the <code>ename</code> parameter was an event name, this
is the handler function.</p>
</div></li><li><span class="pre">scope</span> : Object<div class="sub-desc"><p>Optional. If the <code>ename</code> parameter was an event name, this
is the scope (<code>this</code> reference) in which the handler function is executed.</p>
</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
</li></ul></div></div></div><div id="method-reset" class="member ni"><a href="Ext.form.Basic.html#method-reset" rel="method-reset" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-method-reset" class="viewSource">view source</a></div><a name="reset"></a><a name="method-reset"></a><a href="Ext.form.Basic.html#" rel="method-reset" class="cls expand">reset</a> : Ext.form.Basic</div><div class="description"><div class="short"><p>Resets all fields in this form.</p>
</div><div class="long"><p>Resets all fields in this form.</p>
<h3 class="pa">Returns</h3><ul><li><span class="pre">Ext.form.Basic</span>&nbsp; &nbsp;<p>this</p>
</li></ul></div></div></div><div id="method-resumeEvents" class="member inherited"><a href="Ext.form.Basic.html#method-resumeEvents" rel="method-resumeEvents" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-resumeEvents" class="viewSource">view source</a></div><a name="resumeEvents"></a><a name="method-resumeEvents"></a><a href="Ext.form.Basic.html#" rel="method-resumeEvents" class="cls expand">resumeEvents</a> : void</div><div class="description"><div class="short">Resume firing events. (see suspendEvents)
If events were suspended using the queueSuspended parameter, then all
event...</div><div class="long"><p>Resume firing events. (see <a href="Ext.form.Basic.html#suspendEvents" rel="Ext.form.Basic#suspendEvents" class="docClass">suspendEvents</a>)
If events were suspended using the <code><b>queueSuspended</b></code> parameter, then all
events fired during event suspension will be sent to any listeners now.</p>
<h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
</li></ul></div></div></div><div id="method-setValues" class="member ni"><a href="Ext.form.Basic.html#method-setValues" rel="method-setValues" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-method-setValues" class="viewSource">view source</a></div><a name="setValues"></a><a name="method-setValues"></a><a href="Ext.form.Basic.html#" rel="method-setValues" class="cls expand">setValues</a>(
<span class="pre">Array/Object values</span>)
 : Ext.form.Basic</div><div class="description"><div class="short"><p>Set values for fields in this form in bulk.</p>
</div><div class="long"><p>Set values for fields in this form in bulk.</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">values</span> : Array/Object<div class="sub-desc"><p>Either an array in the form:</p>

<pre><code>[{id:'clientName', value:'Fred. Olsen Lines'},
 {id:'portOfLoading', value:'FXT'},
 {id:'portOfDischarge', value:'OSL'} ]</code></pre>


<p>or an object hash of the form:</p>

<pre><code>{
    clientName: 'Fred. Olsen Lines',
    portOfLoading: 'FXT',
    portOfDischarge: 'OSL'
}</code></pre>

</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">Ext.form.Basic</span>&nbsp; &nbsp;<p>this</p>
</li></ul></div></div></div><div id="method-submit" class="member ni"><a href="Ext.form.Basic.html#method-submit" rel="method-submit" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-method-submit" class="viewSource">view source</a></div><a name="submit"></a><a name="method-submit"></a><a href="Ext.form.Basic.html#" rel="method-submit" class="cls expand">submit</a>(
<span class="pre">Object options</span>)
 : Ext.form.Basic</div><div class="description"><div class="short">Shortcut to do a submit action. This will use the
AJAX submit action by default. If the standardsubmit config is
enab...</div><div class="long"><p>Shortcut to <a href="Ext.form.Basic.html#doAction" rel="Ext.form.Basic#doAction" class="docClass">do</a> a <a href="Ext.form.action.Submit.html" rel="Ext.form.action.Submit" class="docClass">submit action</a>. This will use the
<a href="Ext.form.action.Submit.html" rel="Ext.form.action.Submit" class="docClass">AJAX submit action</a> by default. If the <a href="Ext.form.Basic.html#standardsubmit" rel="Ext.form.Basic#standardsubmit" class="docClass">standardsubmit</a> config is
enabled it will use a standard form element to submit, or if the <a href="Ext.form.Basic.html#api" rel="Ext.form.Basic#api" class="docClass">api</a> config is present it will
use the <a href="Ext.form.action.DirectLoad.html" rel="Ext.form.action.DirectLoad" class="docClass">Ext.direct.Direct submit action</a>.</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">options</span> : Object<div class="sub-desc"><p>The options to pass to the action (see <a href="Ext.form.Basic.html#doAction" rel="Ext.form.Basic#doAction" class="docClass">doAction</a> for details).<br></p>

<p>The following code:</p>


<pre><code>myFormPanel.getForm().submit({
    clientValidation: true,
    url: 'updateConsignment.php',
    params: {
        newStatus: 'delivered'
    },
    success: function(form, action) {
       Ext.Msg.alert('Success', action.result.msg);
    },
    failure: function(form, action) {
        switch (action.failureType) {
            case Ext.form.action.Action.CLIENT_INVALID:
                Ext.Msg.alert('Failure', 'Form fields may not be submitted with invalid values');
                break;
            case Ext.form.action.Action.CONNECT_FAILURE:
                Ext.Msg.alert('Failure', 'Ajax communication failed');
                break;
            case Ext.form.action.Action.SERVER_INVALID:
               Ext.Msg.alert('Failure', action.result.msg);
       }
    }
});
</code></pre>


<p>would process the following server response for a successful submission:</p>

<pre><code>{
    "success":true, // note this is Boolean, not string
    "msg":"Consignment updated"
}
</code></pre>


<p>and the following server response for a failed submission:</p>

<pre><code>{
    "success":false, // note this is Boolean, not string
    "msg":"You do not have permission to perform this operation"
}
</code></pre>

</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">Ext.form.Basic</span>&nbsp; &nbsp;<p>this</p>
</li></ul></div></div></div><div id="method-suspendEvents" class="member inherited"><a href="Ext.form.Basic.html#method-suspendEvents" rel="method-suspendEvents" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-suspendEvents" class="viewSource">view source</a></div><a name="suspendEvents"></a><a name="method-suspendEvents"></a><a href="Ext.form.Basic.html#" rel="method-suspendEvents" class="cls expand">suspendEvents</a>(
<span class="pre">Boolean queueSuspended</span>)
 : void</div><div class="description"><div class="short"><p>Suspend the firing of all events. (see <a href="Ext.form.Basic.html#resumeEvents" rel="Ext.form.Basic#resumeEvents" class="docClass">resumeEvents</a>)</p>
</div><div class="long"><p>Suspend the firing of all events. (see <a href="Ext.form.Basic.html#resumeEvents" rel="Ext.form.Basic#resumeEvents" class="docClass">resumeEvents</a>)</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">queueSuspended</span> : Boolean<div class="sub-desc"><p>Pass as true to queue up suspended events to be fired
after the <a href="Ext.form.Basic.html#resumeEvents" rel="Ext.form.Basic#resumeEvents" class="docClass">resumeEvents</a> call instead of discarding all suspended events;</p>
</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
</li></ul></div></div></div><div id="method-un" class="member inherited"><a href="Ext.form.Basic.html#method-un" rel="method-un" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.util.Observable.html" class="definedIn docClass">Ext.util.Observable</a><br/><a href="../source/Observable.html#Ext-util.Observable-method-un" class="viewSource">view source</a></div><a name="un"></a><a name="method-un"></a><a href="Ext.form.Basic.html#" rel="method-un" class="cls expand">un</a>(
<span class="pre">String eventName, Function handler, [Object scope]</span>)
 : void</div><div class="description"><div class="short"><p>Removes an event handler (shorthand for <a href="Ext.form.Basic.html#removeListener" rel="Ext.form.Basic#removeListener" class="docClass">removeListener</a>.)</p>
</div><div class="long"><p>Removes an event handler (shorthand for <a href="Ext.form.Basic.html#removeListener" rel="Ext.form.Basic#removeListener" class="docClass">removeListener</a>.)</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">eventName</span> : String<div class="sub-desc"><p>The type of event the handler was associated with.</p>
</div></li><li><span class="pre">handler</span> : Function<div class="sub-desc"><p>The handler to remove. <b>This must be a reference to the function passed into the <a href="Ext.form.Basic.html#addListener" rel="Ext.form.Basic#addListener" class="docClass">addListener</a> call.</b></p>
</div></li><li><span class="pre">scope</span> : Object<div class="sub-desc"><p>(optional) The scope originally specified for the handler.</p>
</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">void</span>&nbsp; &nbsp;
</li></ul></div></div></div><div id="method-updateRecord" class="member ni"><a href="Ext.form.Basic.html#method-updateRecord" rel="method-updateRecord" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-method-updateRecord" class="viewSource">view source</a></div><a name="updateRecord"></a><a name="method-updateRecord"></a><a href="Ext.form.Basic.html#" rel="method-updateRecord" class="cls expand">updateRecord</a>(
<span class="pre">Ext.data.Record record</span>)
 : Ext.form.Basic</div><div class="description"><div class="short"><p>Persists the values in this form into the passed <a href="Ext.data.Model.html" rel="Ext.data.Model" class="docClass">Ext.data.Model</a> object in a beginEdit/endEdit block.</p>
</div><div class="long"><p>Persists the values in this form into the passed <a href="Ext.data.Model.html" rel="Ext.data.Model" class="docClass">Ext.data.Model</a> object in a beginEdit/endEdit block.</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">record</span> : Ext.data.Record<div class="sub-desc"><p>The record to edit</p>
</div></li></ul><h3 class="pa">Returns</h3><ul><li><span class="pre">Ext.form.Basic</span>&nbsp; &nbsp;<p>this</p>
</li></ul></div></div></div></div><div class="m-events"><a name="events"></a><div class="definedBy">Defined By</div><h3 class="evt p">Events</h3><div id="event-actioncomplete" class="member f ni"><a href="Ext.form.Basic.html#event-actioncomplete" rel="event-actioncomplete" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-event-actioncomplete" class="viewSource">view source</a></div><a name="actioncomplete"></a><a name="event-actioncomplete"></a><a href="Ext.form.Basic.html#" rel="event-actioncomplete" class="cls expand">actioncomplete</a>(
<span class="pre">Ext.form.Basic this, Ext.form.action.Action action</span>)
</div><div class="description"><div class="short"><p>Fires when an action is completed.</p>
</div><div class="long"><p>Fires when an action is completed.</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">this</span> : Ext.form.Basic<div class="sub-desc">
</div></li><li><span class="pre">action</span> : Ext.form.action.Action<div class="sub-desc"><p>The <a href="Ext.form.action.Action.html" rel="Ext.form.action.Action" class="docClass">Ext.form.action.Action</a> that completed</p>
</div></li></ul></div></div></div><div id="event-actionfailed" class="member ni"><a href="Ext.form.Basic.html#event-actionfailed" rel="event-actionfailed" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-event-actionfailed" class="viewSource">view source</a></div><a name="actionfailed"></a><a name="event-actionfailed"></a><a href="Ext.form.Basic.html#" rel="event-actionfailed" class="cls expand">actionfailed</a>(
<span class="pre">Ext.form.Basic this, Ext.form.action.Action action</span>)
</div><div class="description"><div class="short"><p>Fires when an action fails.</p>
</div><div class="long"><p>Fires when an action fails.</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">this</span> : Ext.form.Basic<div class="sub-desc">
</div></li><li><span class="pre">action</span> : Ext.form.action.Action<div class="sub-desc"><p>The <a href="Ext.form.action.Action.html" rel="Ext.form.action.Action" class="docClass">Ext.form.action.Action</a> that failed</p>
</div></li></ul></div></div></div><div id="event-beforeaction" class="member ni"><a href="Ext.form.Basic.html#event-beforeaction" rel="event-beforeaction" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-event-beforeaction" class="viewSource">view source</a></div><a name="beforeaction"></a><a name="event-beforeaction"></a><a href="Ext.form.Basic.html#" rel="event-beforeaction" class="cls expand">beforeaction</a>(
<span class="pre">Ext.form.Basic this, Ext.form.action.Action action</span>)
</div><div class="description"><div class="short"><p>Fires before any action is performed. Return false to cancel the action.</p>
</div><div class="long"><p>Fires before any action is performed. Return false to cancel the action.</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">this</span> : Ext.form.Basic<div class="sub-desc">
</div></li><li><span class="pre">action</span> : Ext.form.action.Action<div class="sub-desc"><p>The <a href="Ext.form.action.Action.html" rel="Ext.form.action.Action" class="docClass">Ext.form.action.Action</a> to be performed</p>
</div></li></ul></div></div></div><div id="event-dirtychange" class="member ni"><a href="Ext.form.Basic.html#event-dirtychange" rel="event-dirtychange" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-event-dirtychange" class="viewSource">view source</a></div><a name="dirtychange"></a><a name="event-dirtychange"></a><a href="Ext.form.Basic.html#" rel="event-dirtychange" class="cls expand">dirtychange</a>(
<span class="pre">Ext.form.Basic this, Boolean dirty</span>)
</div><div class="description"><div class="short"><p>Fires when the dirty state of the entire form changes.</p>
</div><div class="long"><p>Fires when the dirty state of the entire form changes.</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">this</span> : Ext.form.Basic<div class="sub-desc">
</div></li><li><span class="pre">dirty</span> : Boolean<div class="sub-desc"><p><tt>true</tt> if the form is now dirty, <tt>false</tt> if it is no longer dirty.</p>
</div></li></ul></div></div></div><div id="event-validitychange" class="member ni"><a href="Ext.form.Basic.html#event-validitychange" rel="event-validitychange" class="expand more ar"><span>&nbsp;</span></a><div class="title"><div class="meta"><a href="Ext.form.Basic.html" class="definedIn docClass">Ext.form.Basic</a><br/><a href="../source/Basic.html#Ext-form.Basic-event-validitychange" class="viewSource">view source</a></div><a name="validitychange"></a><a name="event-validitychange"></a><a href="Ext.form.Basic.html#" rel="event-validitychange" class="cls expand">validitychange</a>(
<span class="pre">Ext.form.Basic this, Boolean valid</span>)
</div><div class="description"><div class="short"><p>Fires when the validity of the entire form changes.</p>
</div><div class="long"><p>Fires when the validity of the entire form changes.</p>
<h3 class="pa">Parameters</h3><ul><li><span class="pre">this</span> : Ext.form.Basic<div class="sub-desc">
</div></li><li><span class="pre">valid</span> : Boolean<div class="sub-desc"><p><tt>true</tt> if the form is now valid, <tt>false</tt> if it is now invalid.</p>
</div></li></ul></div></div></div></div></div></div></div><div id="pageContent"></div></div></div></div></body></html>